package com.yunze.apiCommon.upstreamAPI.DianXinCMP5G.change;


import com.alibaba.fastjson.JSON;
import com.yunze.apiCommon.upstreamAPI.DianXinCMP5G.DianXin_DCP5G_Api;
import com.yunze.apiCommon.utils.HttpUtil;
import com.yunze.apiCommon.utils.UrlUtil;
import com.yunze.apiCommon.utils.XmlUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;

/**
 * 查询类接口
 */
public class ServiceAccept_DX5G extends DianXin_DCP5G_Api {


    public ServiceAccept_DX5G(Map<String, Object> init_map) {
        super(init_map);
    }

    /**
     * 2.3.2. CTIOT_5GCMP_LC002- 停机保号相关
     * @param access_number
     * @param orderTypeId 停机保号类型：
     * 19表示停机保号
     * 20表示停机保号复机
     * 21表示去激活停机
     * 22 表示去激活复机
     * @return
     */
    public  Map<String, Object> disabledNumberService(String access_number, String orderTypeId) {
        Map<String, Object> rMap = null;
        String  res = null;
        // 拼接接口地址
        String Config_name =  "/5gcmp/openapi/v1/common/disabledNumberService";
        String api_url = server_Ip +Config_name;
        Map<String,Object> params = new HashMap<String,Object>();
        params.put("access_number",  access_number);//
        params.put("acctCd",  "");//文档中没有 ，请求示例中有 不传入会报错！
        params.put("orderTypeId", orderTypeId);
        getSign(params); //生成sign加密值
        String param_url = UrlUtil.getUrl(api_url, params,true);
        try {
            res = HttpUtil.get(param_url,headers);
            System.out.println(res);
            rMap =  XmlUtil.xmlToMap(res);
        } catch (Exception e) {
            rMap = new HashMap<>();
            rMap.put("error",res);
            System.out.println(Config_name+"  返回数据错误！"+res);
        }
        return rMap;
    }




    /**
     * 2.7.2. CTIOT_5GCMP_MAPN002- APN 上网功能启用、停止操作
     * @param access_number
     * @param action ：
     * 执行动作
     * action=ADD，表示此 APN 可以上网；
     * action=DEL，表示此APN 不可以上网；
     * @return
     */
    public  Map<String, Object> apnNetStatusAction(String access_number, String action) {
        Map<String, Object> rMap = null;
        String  res = null;
        // 拼接接口地址
        String Config_name =  "/openapi/v1/subscribers/apnNetStatusAction";
        String api_url = server_Ip +Config_name;
        Map<String,Object> params = new HashMap<String,Object>();
        params.put("access_number",  access_number);//
        params.put("action", action);
        getSign(params); //生成sign加密值
        String param_url = UrlUtil.getUrl(api_url, params,true);
        try {
            res = HttpUtil.get(param_url,headers);
            System.out.println(res);
            rMap =  JSON.parseObject(res);
        } catch (Exception e) {
            rMap = new HashMap<>();
            rMap.put("error",res);
            System.out.println(Config_name+"  返回数据错误！"+res);
        }
        return rMap;
    }





}
